#include "thread_lock.h"

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos
{

    thread_lock::thread_lock()
    {
        ::InitializeCriticalSection( &m_sec );
    }

    thread_lock::~thread_lock()
    {
        ::DeleteCriticalSection( &m_sec );
    }

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // method

    int thread_lock::un_lock()
    {
        int nRet = 0;
        ::LeaveCriticalSection( &m_sec );
        return nRet;
    }

    int thread_lock::lock()
    {
        int nRet = 0;
        ::EnterCriticalSection( &m_sec );
        return nRet;
    }

} // xos
